package com.zlc.common.core.process.model.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.zlc.common.common.entity.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * @author  zl
 * @date 2023-10-17
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "流程节点定义表")
public class StoneProcessNodeVo extends BaseEntity implements Serializable {
	private static final long serialVersionUID = 0L;
	/**
	 * 流程定义ID
	 */
	@ApiModelProperty(value="流程定义ID")
	private String processId;

	/**
	 * 节点ID
	 */
	@ApiModelProperty(value="节点ID")
	private String nodeId;

	/**
	 * 节点类型
	 */
	@ApiModelProperty(value="节点类型")
	private String nodeType;

	/**
	 * 节点名称
	 */
	@ApiModelProperty(value="节点名称")
	private String nodeName;

	/**
	 * 节点编号
	 */
	@ApiModelProperty(value="节点编号")
	private String nodeNum;

	/**
	 * 处理表单
	 */
	@ApiModelProperty(value="处理表单")
	private String execForm;

	/**
	 * 前置节点,多个分号隔开
	 */
	@ApiModelProperty(value="前置节点,多个分号隔开")
	private String parentNodeId;

	/**
	 * 分支规则 ALL 流向所有分支|手动选择一个 ONE|手动选择一个或多个 ONE_MORE
	 */
	@ApiModelProperty(value="分支规则 ALL 流向所有分支|手动选择一个 ONE|手动选择一个或多个 ONE_MORE")
	private String forkRules;

	/**
	 * 聚合规则 ALL 必须所有都完成|只要一个完成ONE|只要一个完成就全部完成ONE_COMPLETE|百分比PERCENTAGE
	 */
	@ApiModelProperty(value="聚合规则 ALL 必须所有都完成|只要一个完成ONE|只要一个完成就全部完成ONE_COMPLETE|百分比PERCENTAGE")
	private String joinRules;

	/**
	 * 条件节点 表达式
	 */
	@ApiModelProperty(value="条件节点 表达式")
	private String discRules;

	/**
	 * 是否允许退回
	 */
	@ApiModelProperty(value="是否允许退回")
	private Boolean rejectFlag;

	/**
	 * 允许退回的节点
	 */
	@ApiModelProperty(value="允许退回的节点")
	private String canRejectNode;

	/**
	 * 描述
	 */
	@ApiModelProperty(value="描述")
	private String desc;

	/**
	 * 序号
	 */
	@ApiModelProperty(value="序号")
	private Integer order;

}
